home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2005 June
/
ccd0605.iso
/
Software
/
Freeware
/
Programare
/
highlight
/
highlight-W32GUI-2.2-10b-Setup.exe
/
{app}
/
README_ES.txt
< prev
next >
Wrap
Text File
|
2005-02-10
|
12KB
|
363 lines
--------------------------------------------------------------------------------
--- MANUAL DE HIGHLIGHT - Versi≤n 2.2-8 -------------------------- FEB 2004 ---
--------------------------------------------------------------------------------
OSI Certified Open Source Software
Deutsche Anleitung: README_DE
--------------------------------------------------------------------------------
Highlight convierte c≤digo fuente a archivos HTML, XHTML, RTF, LaTeX,
TeX, XSL-FO o XML con resalte de sintaxis. Las definiciones de lenguajes,
temas de color e indentaci≤n son configurables.
CONTENIDO:
1. Plataformas
2. Lenguajes de programaci≤n/marcado contemplados
3. Caracterφsticas
4. Formato del fichero Highlight
5. Definici≤n de nuevos lenguajes
6. Definici≤n de nuevos temas de color
7. Definici≤n de nuevos esquemas de indentaci≤n
8. Informaci≤n de contacto
1. PLATAFORMAS
--------------------------------------------------------------------------------
Highlight estß escrito en ISO C++. Existen tres versiones:
- aplicaci≤n UNIX para consola
- aplicaci≤n W32 para consola
- aplicaci≤n W32 grßfica
El paquete fuente compila con gcc3.x, MS Visual .NET y MW Codewarrior 8.
2. LENGUAJES DE PROGRAMACI╙N / MARCADO CONTEMPLADOS:
Actualmente, highlight contempla los siguientes lenguajes de
programaci≤n, marcado y ficheros de configuraci≤n:
Action Script, ADA 95, Agda, AMPL, Aspect, Assembler, Amtrix, Avenue, (G)AWK,
Bash, BlitzBasic, BibTex, BMS, C, C++, C#, ClearBasic, Clipper, Cobol, Coldfusion
MX, CSS, DOS-Batch, Eiffel, Erlang, Euphoria, Express, Felix, Fortran, Frink,
Haskell, HTML, httpd.conf, Icon, IDL, INI, IO, Jasmin, Java, JavaScript, JSP,
LaTeX, LDIF, Lisp, Lotos, Lotus Script, Lua, Make,Maya, Matlab, Maple, Modelica,
Modula 3, Nasal, OCaml, (Object) Pascal, Objective C, Paradox, PATROL, Perl,
PHP, Pike, PL/1, PL/SQL, PostScript, POV Ray, Progress, Prolog, Python, Relax
NG Compact, Rexx, RPM Spec, Ruby, Small, SML, SNMPv2, Spin, Squirrel, Sybase,
VHDL, Visual Basic, XML.
3. CARACTER═STICAS:
--------------------------------------------------------------------------------
- resaltado de palabras clave, tipos, cadenas, n·meros, secuencias de escape,
comentarios, sφmbolos y directivas.
- resaltado de conjuntos de palabras clave configurables.
- salida coloreada en formato HTML, XHTML 1.1, RTF, TeX, LaTeX, XSL-FO o XML
- reformateo e indentaci≤n configurable de c≤digo fuente C, C++, C# y Java
- divisi≤n de lineas largas
- n·meros de lφnea
- elecci≤n entre empotrar las definiciones CSS en el fichero (X)HTML o guardarlas
como un fichero CSS aparte
- 50 temas de color
- conversi≤n de texto plano al formato elegido sin resalte de sintaxis.
4. FORMATO DEL FICHERO HIGHLIGHT
--------------------------------------------------------------------------------
Todos los ficheros de configuraci≤n de highlight se guardan en ficheros de texto.
El formato es simple:
$ParamName=ParamValue
ParamName es el identificador del parßmetro, ParamValue es su valor.
Los nombres de parßmetros no distinguen entre may·scula y min·scula.
El valor puede ser un carßcter simple o una lista de palabras. Las listas se
pueden separar en m·ltiples lφneas.
Las lφneas que comienzan con # en la primera columna son comentarios
5. DEFINICI╙N DE NUEVOS LENGUAJES:
--------------------------------------------------------------------------------
Una definici≤n de lenguajes es un fichero de texto, en el que las palabras clave
y los sφmbolos del lenguaje de programaci≤n pertenecen a diferentes categorφas.
Se debe guardar el fichero en directorio highlight/langDefs* con el siguiente
nombre:
<extensi≤n propia de los fichero del lenguaje>.lang
Ejemplos: PHP -> php.lang, Java -> java.lang
Si existen m·ltiples sufijos, p≤ngalos en extensions.conf*.
FORMATO DEL FICHERO:
# Lista de palabras reservadas; <class> es el nombre de la clase de palabras
# reservadas
# La clase debe estar definida en el tema de color aplicado para que el estilo
# de resalte coincida
$KW_LIST(<class>)=<List>
# Prefijo que determina palabras clave
# La clase debe estar definida en el tema de color aplicado para que el estilo
# de resalte coincida
$KW_PREFIX(<class>)=<Character>
# Delimitadores para palabras clave
# La clase debe estar definida en el tema de color aplicado para que el estilo
# de resalte coincida
$KW_DELIM(<class>)=<open close>
# Delimitadores para marcas de apertura y cierre
# Las marcas se formatean como palabras clave de la clase especificada
$TAG_DELIM(<class>)=<tag_open tag_close>
# Lista de delimitadores de cadena
$STRINGDELIMITERS=<List>
# Par de delimitadores de cadena diferentes
# Ejemplo: s" " en Forth
$STRINGDELIMITERPAIR=<open close>
# Lista de caracteres de escape en cadenas (ie. "\")
$ESCCHAR=<List>
# Prefijo que desactiva el resalte de caracteres de escape
# para la siguiente cadena
$RAWSTRINGPREFIX=<Character>
# Delimitadores de comentarios multi-lφnea
$ML_COMMENT=<comment_begin comment_close>
# Lista de cadenas que comienzan comentarios de una lφnea
$SL_COMMENT=<List>
# Fijado a 'true' si los comentarios de una lφnea tienen que empezar en la
# primera columna
$FL_COMMENT=<true / false>
# Cadena de comienzo de las directivas del preprocesador
$DIRECTIVE=<prefix>
# Fijado a 'true' si el c≤digo fuente del lenguaje se puede reformatear
# (s≤lo lenguajes tipo C!)
$REFORMATTING=<true / false>
# Sφmbolos que se pueden colorear (llaves, operadores, etc)
$SYMBOLS=<List>
# Lista de caracteres especiales que pueden aparecen en palabras reservadas
$ALLOWEDCHARS=<character list>
# Fijado a 'true' si los comentarios multi-lφnea se pueden anidar
$ALLOWNESTEDCOMMENTS=false
# Fijado a 'true' si el lenguaje de programaci≤n no distingue entre may·sculas
# y min·sculas
$IGNORECASE=<true / false>
# Incluye otra definici≤n de lenguaje almacenada en el mismo directorio
$INCLUDE=<language definition>
Ejemplo:
#Contenido de pas.lang (Pascal/Object Pascal)
$KW_LIST(kwa)=true false if else then nil maxint case goto label and div downto in
mod not of or packed with do for do repeat while to until procedure function
program begin end const var type unit interface implementation uses private
public
$KW_LIST(kwb)=array boolean char integer file pointer real set string text record
$STRINGDELIMITERS=" '
$SL_COMMENT=//
$ML_COMMENT={ }
$IGNORECASE=true
CONSEJO: Si no quieres guardar definiciones de lenguajes nuevas en el directorio de
instalaci≤n por defecto, debes indicar a highlight otra ruta
donde buscar con la opci≤n --add-data-dir.
6. DEFINICI╙N DE NUEVOS TEMAS DE COLOR
--------------------------------------------------------------------------------
Los temas de color se guardan en ficheros ASCII, en los que se define el for-
mato de salida. La salida RTF ignora el atributo de color de fondo. Los fiche-
ros deben estar en el directorio themes* y deben tener extensi≤n *.style.
FORMATO DEL FICHERO:
#<ColourAttr> = RR GG BB
#RR GG BB describe los valores rojo/verde/azul en hexadecimal que definen el color.
#(Rango: 00 (nada) - FF (todo))
#<FormatAttr> = <bold> <italic> <underline>
#Negrita, cursiva y subrayado son atributos opcionales que se pueden combinar
# Color del texto no reconocido
$DEFAULTCOLOUR=RR GG BB
# Color de fondo (ignorado por RTF)
$BGCOLOUR=RR GG BB
# Tama±o de letra
$FONTSIZE=<number>
# Formato de palabras reservadas, que pertenece a la clase correspondiente
$KW_CLASS(<class>)=<ColourAttr> ( <FormatAttr> )
# Formato de los n·meros
$NUMBER=<ColourAttr> ( <FormatAttr> )
# Formato de los caracteres de escape
$ESCAPECHAR=<ColourAttr> ( <FormatAttr> )
# Formato de las cadenas
$STRING=<ColourAttr> ( <FormatAttr> )
# Formato de las cadenas con directivas del compilador
$STRING_DIRECTIVE=<ColourAttr> ( <FormatAttr> )
# Formato de los comentarios
$COMMENT=<ColourAttr> ( <FormatAttr> )
# Formato de los comentario de una lφnea
$SL-COMMENT=<ColourAttr> ( <FormatAttr> )
# Formato de las directivas del compilador
$DIRECTIVE=<ColourAttr> ( <FormatAttr> )
# Formato de sφmbolos (opcional, igual a $DEFAULTCOLOUR si se omite)
$SYMBOL=<ColourAttr> ( <FormatAttr> )
# Formato de los n·meros de lφnea
$LINE=<ColourAttr> ( <FormatAttr> )
Ejemplo:
# Golden.style
$DEFAULTCOLOUR=dd bb 00
$BGCOLOUR=00 00 00
$FONTSIZE=10
$KW_CLASS(kwa)=dd bb 00 bold
$KW_CLASS(kwb)=dd bb 00
$NUMBER=ff ff ff
$ESCAPECHAR=ff 00 00
$STRING=ff 00 00
$STRING_DIRECTIVE=ff 00 00
$COMMENT=97 83 45 italic
$DIRECTIVE=ff dd aa
$LINE=97 83 45
7. DEFINICI╙N DE NUEVOS ESQUEMAS DE INDENTACI╙N
--------------------------------------------------------------------------------
Se pueden definir esquemas de indentaci≤n y formateo a medida. Para habilitar el
reformateo de un lenguaje de programaci≤n, la opci≤n $REFORMATTING=true debe
a±adirse a la definici≤n del lenguaje. Note que el reconocedor 'Artistic Style'
se dise±≤ s≤lo para manejar lenguajes tipo C (C++, Java, C#).
Los esquemas de indentaci≤n se guardan en el directorio indentSchemes* y deben
tener extensi≤n *.indent.
FORMATO DEL FICHERO:
# manejo de llaves:
# "break": Separar llaves del bloque precedente (i.e. ANSI C/C++ style).
# "attach": Dejar las llaves junto al bloque precedente (i.e. Java/K&R style).
# "linux": Separar llaves en los bloques de definici≤n y dejarlas en los bloques de ≤rdenes.
# "break-closing-headers": Separar llaves antes de las cabeceras de cierre (e.g. 'else',
# 'catch', ..). Se deberφa a±adir a $brackets=attach o $brackets=linux.
$BRACKETS=<break | attach | linux | break-closing-headers>
# Inserta lφneas vacφas entre bloques no relacionados, etiquetas, clases, ...
# "true": modo por defecto
# "all": tambiΘn inserta lφneas vacφas entorno a las cabeceras de cierre
# (e.g. 'else', 'catch', ...).
$BREAK-BLOCKS=<true | false | all>
# Divide las sentencias 'else if()' en dos lφneas diferentes.
$BREAK-ELSEIFS=<true / false>
# A±ade indentaci≤n extra para bloques (incluyendo las llaves).
$INDENT-BLOCKS=<true / false>
# A±ade indentaci≤n extra a las llaves.
$INDENT-BRACKETS=<true / false>
# Indenta las lφneas 'case XXX:', de modo que se alineen con sus bloques de c≤digo.
$INDENT-CASES=<true / false>
# Indenta los bloques 'class' 'class' blocks, asφ como su 'public:', 'protected:'
and 'private:'
# Las cabeceras se indentan en relaci≤n a bloque de la clase.
$INDENT-CLASSES=<true / false>
# Indenta etiquetas de modo que aparecen en un nivel de indentaci≤n menos que el actual,
# en lugar de completamente a la izquierda (que es el comportamiento por defecto).
$INDENT-LABELS=<true / false>
# Indenta el contenido de los bloques 'namespace'.
$INDENT-NAMESPACES=<true / false>
# Indenta las sentencias #define multi-lφnea
$INDENT-PREPROCESSOR=<true / false>
# Indenta usando <num> espacios por indentaci≤n. Si no se especifica <num> se
# aplica el valor por defecto, que son 4 espacios por indentaci≤n.
$INDENT-SPACES=<num>
# Indenta los bloques 'switch', de modo que sus 'case XXX:' se indentan en relaci≤n
# al bloque switch block.
$INDENT-SWITCHES=<true / false>
# Indenta un fichero fuente Java
$JAVA-STYLE=<true / false>
# Indenta un mßximo de <num> espacios en una sentencia continua, de forma relativa
# a la lφnea previa
$MAX-INSTATEMENT-INDENT=<num>
# Indenta un mφnimo de <num> espacios en sentencias condicionales continuas.
$MIN-CONDITIONAL-INDENT=<num>
# Separar sφmbolos con espacios en blanco:
# "paren": Inserta espacios s≤lo alrededor de los parΘntesis
# "oper": Inserta espacios s≤lo alrededor de los operadores
# "all": Inserta espacios alrededor de parΘntesis Y operadores
$PAD=<paren | oper | all>
Ejemplo:
# K&R indentation scheme
$indent-brackets=false
$indent-spaces=4
$brackets=attach
$indent-classes=false
$indent-switches=false
$indent-namespaces=false
8. INFORMACI╙N DE CONTACTO
--------------------------------------------------------------------------------
Andre Simon
andre.simon1@gmx.de
http://www.andre-simon.de/